import request from '@/api/request'

interface MemberData {
  id?: string
  name: string
  phone: string
  email?: string
  gender?: number
  birthday?: string
  address?: string
  status?: number
  level_id?: string
}

interface MemberListParams {
  page?: number
  pageSize?: number
  name?: string
  phone?: string
  status?: number
}

interface MemberDetailParams {
  id: string
}

/**
 * 创建会员
 * @param data 会员数据
 * @returns 返回创建的会员信息
 */
export function createMember(data: Omit<MemberData, 'id'>) {
  return request.post('/members/create', data)
}

/**
 * 更新会员
 * @param data 会员数据
 * @returns 返回更新后的会员信息
 */
export function updateMember(data: MemberData) {
  return request.post('/members/update', data)
}

/**
 * 删除会员
 * @param data 删除数据
 * @returns Promise
 */
export function deleteMember(data: MemberDetailParams) {
  return request.post('/members/delete', data)
}

/**
 * 查询会员列表
 * @param params 查询参数
 * @returns 返回会员列表
 */
export function getMemberList(params?: MemberListParams) {
  return request.post('/members/list', params || {})
}

/**
 * 查询会员详情
 * @param data 查询数据
 * @returns 返回会员详情
 */
export function getMemberDetail(data: MemberDetailParams) {
  return request.post('/members/detail', data)
}

